/**
 * 图表数据
	* */
	
/**
 * 
 * l 需要传数据数量
 * y 日期类型为，1:日(30天)，2:周(52周)，3:月(12月)，4:年(6年)
 * 
	* */
export async function getechar(l,y){
	let data = {
		time:[], // 日期
	}
	// console.log('数量',l)
	// console.log('日期类型',y)
	
	let num = l
	for(let i = 1; i <= num; i++){
		data['value' + i] = []
	}
	return new Promise((resolve)=>{
		
		// 30天
		if(y == 1){
			data = historydays(data)
		}
		
		// 52周
		if(y == 2){
			data = historycycle(data)
		}
		
		// 12个月
		if(y == 3){
			data = historymonth(data)
		}
		
		// 6年
		if(y == 4){
			data = historyYear(data)
		}
		
		resolve(data)
	})
}

// 前30天
let historydays = (e) =>{
	let num = new Date(new Date().getFullYear(), new Date().getMonth(), 0).getDate()

	let today = new Date();
	// 插入日期
	for (let i = 0; i < num; i++) {
		let date = new Date(today)
		date.setDate(date.getDate() - i)
		let dateString = date.toISOString().split('T')[0]
		e.time.unshift(dateString)
	}
	// 插入数据
	for(let key in e){
		if(key != 'time'){
			for (let i = 0; i < num; i++) {
				e[key].push(0)
			}
		}
	}
	return e
}

// 前12个月
let historymonth = (e) =>{
	let currentMonth = new Date().getMonth() + 1 // 当前月份（1-12）
	let currentYear = new Date().getFullYear() // 当前年份
	for (let i = 0; i < 12; i++) {
		let month = currentMonth - i;
		let year = currentYear;
		if (month <= 0) {
			month += 12;
			year--;
		}
		e.time.unshift(`${year}-${month.toString().padStart(2, '0')}`)
	}
	// 插入数据
	for(let key in e){
		if(key != 'time'){
			for (let i = 0; i < 12; i++) {
				e[key].push(0)
			}
		}
	}
	
	return e
}

// 前52周
let historycycle = (e) =>{
	let weeks = '' // 数据
	let current = new Date() // 当前日期
	let Year = new Date().getFullYear() // 当前年份
	let num = 1 // 今年周期数
	let Yearweeks = [] // 今年周期
	let yearsago = [] // 前年周期数
	// current.setDate(current.getDate() - current.getDay() + 1);
	current.setDate(current.getDate() + 7);
	for (let i = 1; i <= 52; i++) {
		let end = new Date(current);
		end.setDate(end.getDate() - 6);
		let Lastyear = new Date(end).getFullYear()
		if(Year == Lastyear){
			// 今年
			let key = num <= 9 ? '0' + num : num
			weeks = 'Week ' + key + ',' + Year
			num++
			Yearweeks.push(weeks)
		}else{
			// 前年
			let key = i <= 9 ? '0' + i : i
			weeks = 'Week ' + i + ',' + new Date(end).getFullYear()
			yearsago.push(weeks)
		}
		// 下一个周期
		current.setDate(current.getDate() - 7);
	}

	// 前年+今年周期
	e.time = [...yearsago,...Yearweeks]

	// 插入数据
	for(let key in e){
		if(key != 'time'){
			for (let i = 1; i <= 52; i++) {
				e[key].push(0)
			}
		}
	}
	return e
}

// 前6年
let historyYear = (e) =>{
	let currentYear = new Date().getFullYear();
	for (let i = 0; i < 6; i++) {
		e.time.unshift(currentYear - i);
	}
	// 插入数据
	for(let key in e){
		if(key != 'time'){
			for (let i = 0; i < 6; i++) {
				e[key].push(0)
			}
		}
	}
	return e
}
